1. Technical Field
The present teaching relates to method and system for USB. More specifically, the present teaching relates to method and system for a USB isolating device and systems incorporating the same.
2. Discussion of Technical Background
The Universal Serial Bus, or USB, is right now the most common serial peripheral bus in existence. USB permits all the most common devices to connect to a computer, to each other, through hubs, and now even wireless USB has become the dominant method of low bandwidth communications between devices and their peripherals. However, isolating a USB is not without difficulties. Various issues occur when isolating a USB bus due to bidirectional signaling and selecting data speeds that other less common peripheral technologies have already solved. The universal nature of a USB bus requires functionality and automatic identification of the capable data speed by a down stream device.
Current examples of USB isolated Hubs handle the isolation in the main upstream bus connection. Conventionally, a USB isolated hub upstream port must maintain the highest speed it is capable of, allowing a fixed speed setting. A hub controller manages the speed control for the expansion ports of the hub. The individual hub ports are observed without isolation and bus speed configuration across the isolation barrier is not necessary.
Bus splitters may include control pins that are manually selectable or software intervention external to the USB bus to select an operating speed. Traditionally, to indicate the bus condition on both sides of an isolation barrier, different means may be adopted. For instance, a fixed bus speed function may be used to indicate either a full speed or a low speed. Alternatively, configuration pins may be used where if the input pin is connected to a high (“1”), it indicates a full speed device and if the input pin is connected to a low (“0”), it indicates a low speed device. Another conventional solution is to use a configuration register and the value stored in the register can be set by an external control device. If the register is set to have a high value, it is a full speed device and otherwise, it is a low speed device. These methods statically set the speed of the interface fixing the type of device that may be connected to a single bus speed.
This conventional solution statically sets the speed of an isolated USB transceiver. Unfortunately, setting the speed conditions in such a static manner prevents the isolating USB transceiver from being used in host or hub downstream facing applications where the speed of the connected peripheral device varies, depending on the peripheral device connected. In addition, because statically setting the speed yields fixed bus speed peripherals when used with an isolating device, it limits the flexibility of the device as a universal USB isolator. In downstream facing host or hub applications, the speed of the connected peripheral is often unknown and frequently has to be dynamically determined based on the condition of the bus during the idle state or bus initialization. To act as a Host, hub, or bus splitter, the downstream facing port needs to determine the bus speed of the peripherals and then report the speed to the upstream facing port. Unfortunately, the conventional solutions are not equipped to accomplish that in an isolator.